1. Field of the Invention
This invention relates to a disk array apparatus with a disk array composed of a plurality of disk drives, and more particularly to a disk array apparatus for and a method of expanding storage capacity dynamically which are suitable in expanding the storage capacity of a disk array by adding disk drives.
2. Description of the Related Art
One known disk storage management method is called a Log Structured File System. The log structured file system has been described in detail in, for example, the following reference: “The Design and Implementation of a Log-Structured File System,” Mendel Rosenblum and John K. Ousterhout, ACM Transaction on Computer systems, February 1992. The log structured file system described in the reference has the following two characteristics: one characteristic is that the update data requested by the host computer is accumulated and then written simultaneously into another continuous area in which no effective data is stored, and the other is that the area in which the data before update was stored is made ineffective.
On the other hand, U.S. Pat. No. 6,219,752 and U.S. Pat. No. 6,233,648 have disclosed techniques (hereinafter, referred to as the prior art) where a log structured file system is applied to a disk array apparatus. In the prior art, an address translation table is used for converting the logical address specified by the access request made by the host computer into a physical address indicating the location of physical data in the disk array. The logical address is a data address on the disk array recognized by the host computer.
An example of applying a log structured file system to a dynamic expansion of the storage capacity in a disk array apparatus has been described in paragraph 0195-0198 in the right column on page 34 in Jpn. Pat. Appln. KOKAI Publication No. 2000-10738. A dynamic expansion of the storage capacity in the disk array apparatus means expanding the storage capacity of the disk array without stopping the system. The technique for expanding the storage capacity (hereinafter, referred to a first storage capacity expanding technique) described in Jpn. Pat. Appln. KOKAI Publication No. 2000-10738 is characterized in that “0” is written into all of the data areas of the disk drives added to the disk array apparatus. Writing “0” enables the data areas of the added disk drives to be incorporated into the disk array apparatus without recalculating the parity. In the first storage capacity expanding technique, to expand the storage capacity of the disk array by adding a disk drive to the disk array apparatus, there is no need to move the data all over the data areas constituting the disk array. In the first storage capacity expanding technique, however, it is necessary to write “0” into all of the data areas of the added disk drives, that is, to make all of the data blocks ineffective. Consequently, the first storage capacity expanding technique requires a lot of time, depending on the storage capacity of the added disk drives. Moreover, the first storage capacity expanding technique has another problem: since the mapping relationship between the logical addresses and the physical addresses after the expansion of the storage capacity is not optimized, the performance of sequential access decreases.
On the other hand, Jpn. Pat. Appln. KOKAT Publication No. 7-141121 has disclosed an example of expanding the storage capacity dynamically in a disk array apparatus to which a log structured file system has not been applied. In the example, by storing the write locations during the relocation of data, it is determined whether the I/O (input/output) request was made by the host before or after the expansion of the storage capacity. In the storage capacity expanding technique (hereinafter, a second storage capacity expanding technique) disclosed in Jpn. Pat. Appln. KOKAI Publication No. 7-141121, it is necessary to change the mapping of logical addresses onto physical addresses as a result of the addition of a disk drive. The change of the mapping involves regenerating the parity data (redundant data) and relocating the data including the parity data. Therefore, in the second storage capacity expanding technique, the following problem arises: the relocation of data causes inputs to and outputs from the disk drives to take place, which degrades the performance of the input and output to and from the disk array apparatus after the expansion of the storage capacity. Furthermore, the input and output to and from the disk drive as a result of the data relocation depend on the storage capacity of the disk drive.